#ifndef CAPP_H
    #define CAPP_H
 
#include <SDL.h>
#include "Define.h"
#include "CArea.h"
#include "CCamera.h"
#include "CEvent.h"
#include "CSurface.h"
#include "CEntity.h"
#include "CPlayer.h"
#include "Goomba.h"
#include "EnemySpawner.h"
 
class CApp : public CEvent
{
    public:
        CApp();
        
        CPlayer Player;
        EnemySpawner<Goomba> goombaSpawner;
        
        int OnExecute();
        bool OnInit();
        void OnEvent(SDL_Event* Event);
        void OnKeyDown(SDLKey sym, SDLMod mod, Uint16 unicode);
        void OnKeyUp(SDLKey sym, SDLMod mod, Uint16 unicode);
        void OnExit();
        void OnLoop();
        void OnRender();
        void OnCleanup();
    
    private:
        bool Running;
        SDL_Surface* Surf_Display;
};
 
#endif